package com.wzdigit.wms.basic.client.response.gdn.other;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = false)
public class ScanOtherOutOrderResponse implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 组织
     */
    @ApiModelProperty(value = "单据号")
    private String gdnNo;
    /**
     * 原单号
     */
    @ApiModelProperty(value = "原单号")
    private String sourceNo;
    /**
     * 仓库ID
     */
    @ApiModelProperty(value = "仓库ID")
    private Integer whsId;
    /**
     * 组织
     */
    @ApiModelProperty(value = "货主")
    private Integer owner;
    /**
     * 客户
     */
    @ApiModelProperty(value = "客户")
    private String customer;
    /**
     * 类型
     */
    @ApiModelProperty("类型")
    private String gdnType;

    /**
     * 组织
     */
    @ApiModelProperty(value = "组织")
    private String factory;
    /**
     * 类型
     */
    @ApiModelProperty("类型")
    private String gdnTypeName;

    @ApiModelProperty("状态")
    private Integer status;

    @ApiModelProperty("状态名称")
    private String statusName;
    /**
     * 是否可以进行无sn扫描
     */
    @ApiModelProperty(value = "是否可以进行无sn扫描")
    private boolean snScan = false;
    /**
     * 总数
     */
    @ApiModelProperty(value = "总数")
    private BigDecimal planQty = BigDecimal.ZERO;
    /**
     * 提交数
     */
    @ApiModelProperty(value = "提交数")
    private BigDecimal subQty = BigDecimal.ZERO;
    /**
     * 已扫描数
     */
    @ApiModelProperty(value = "已扫描数")
    private BigDecimal scannedQty = BigDecimal.ZERO;
    /**
     * 数据
     */
    @ApiModelProperty(value = "明细数据")
    private List<ScanOtherOutOrderItemsResponse> items = new ArrayList<>();
}
